          SUBROUTINE (FILE,ERROR)
** Version# 8.0001[2] - 05/15/2011 - 10:08am - SMITJR - eclipse
*** V8.0001 Change - Custom Coding .. - 05/15/2011 - SMITJR - eclipse

*** Subroutine - BATCH.INV.FTP.SEND.BT
*-------------------------------------------------------------------------*
***
***
***
*-------------------------------------------------------------------------*
*** OID         - Order Id we're printing an Invoice for.             [IN]
*** GEN         - Order Generation we're printing an Invoice for.     [IN]
*-------------------------------------------------------------------------*
***
***
***
*------------------------------------------------------------------------*

          GOSUB INIT

          GOSUB SET.SUMMARY

          RETURN
*-------------------------------------------------------------------------*
INIT:
          READ FTP.INFO FROM CTRLFILE,'BATCH.INV.FTP.INFO' ELSE FTP.INFO=''
          LOCAL.PATH   = FTP.INFO<7>
          CSV.NAME     = FILE<2,1>:'.csv'
          NUM.INVS     = 0
          NUM.LINES    = 0
          SUM.INVS     = 0
          BATCH.TYPE   = 'BATCH.INV'
          TEMP.LINE    = ''
          RETURN
*-------------------------------------------------------------------------*
SET.SUMMARY:

          UT.OPEN.FILE LOCAL.PATH,FTP.FILE,ERR.MSG
          READ LINES FROM FTP.FILE,CSV.NAME ELSE LINES = ''
          LINES.CT = DCOUNT(LINES,AM)
          NEXT.ID  = LINES.CT+1

          FOR LX = 1 TO LINES.CT
             PRFX = LINES<LX>[2,3]
             BEGIN CASE
                CASE PRFX = 'HDR'
                   NUM.INVS += 1
                CASE PRFX = 'FTR'
                   * A temporary array is introduced , to change the                          * delimiter from ","  to | .
                   TEMP.LINE = CHANGE(LINES<LX>,'","','|')
                   INV.TOTAL = FIELD(TEMP.LINE,'|',18)
                   UT.REP.STR INV.TOTAL,'"',''
                   SUM.INVS += INV.TOTAL
                CASE PRFX = 'ITM' OR PRFX = 'CMT' OR PRFX = 'SUB'
                   NUM.LINES += 1
             END CASE
          NEXT LX

          IF NUM.INVS = 0 THEN
             ERROR = 'NO ITEMS'
          END

          BT.SUM = 'SUM':AM:NUM.INVS:AM:NUM.LINES:AM:SUM.INVS
          UT.REP.STR BT.SUM,'"','""'
          UT.REP.STR BT.SUM,AM,'","'
          BT.SUM = '"':BT.SUM:'"'

          NWRITEV BT.SUM ON FTP.FILE,CSV.NAME,NEXT.ID

          RETURN
*-------------------------------------------------------------------------*
